The present invention relates to the field of microcontrollers and similar electronic devices.
Modern microcontrollers are found in nearly every facet of modern life. Tasks once accomplished by hand are now not only electrified but done with xe2x80x9csmartxe2x80x9d machines. Every electric shaver, hedge trimmer, weed cutter, automotive instrument panel, home laundry, light switch, clock radio, microwave oven, ad infinitum, has a built in microcontroller. Microcontrollers work in every conceivable condition, including temperature extremes, wet and dry conditions, and other hostile environments. They also are called upon to operate in hostile electrical environments; attempting to read data on noisy pins and transmitting data into adverse voltages.
Overcoming hostile physical environments has been accomplished in different ways by different designs. Overcoming hostile electrical environments, however, primarily involves controlling the drive strength of a microcontroller""s input and output (I/O) nodes.
Numerous ways have been developed to control drive strength. Typically, the methods involve pulling an I/O node""s voltage up, to device supply voltage, or down, to ground. This is most often accomplished through resistors tied to the node and to either ground or supply voltage. In some instances, a pull-up resistor or a pull-down resistor can be selected by a data bit in order to turn on or turn off the resistor""s function. However, there are many instances when a simple on/off selection is insufficient to meet the needs of a dynamic environment. A changing voltage on an output pin can require a range of different drive strengths at different times. there are times when the pin environment is such that transmitting a data bit will require a voltage ramp-rate that produces high frequency harmonics unless the pin is pulled down, but only slightly.
What is needed, then, is a means of controlling the drive strength of an input/output pin with sufficient resolution to meet most foreseeable electronic environments in which an I/O pin will need to operate. Furthermore, the means must achieve necessary drive strengths on the fly, sometimes changing between successive data bits. The means by which all this is accomplished must also be manufacturable in current manufacturing methods and fit in existing device footprints.
Presented herein is a method for controlling the drive strength of an input/output node in a microcontroller. The means by which the drive strength is controlled attains sufficient resolution to meet most foreseeable electronic environments in which an I/O pin will need to operate. Furthermore, the means achieves necessary drive strengths on the fly, and is capable of changing between successive data bits. All of this is accomplished by elements that are manufacturable by current manufacturing methods and fit in existing device footprints
The present invention relates to an input/output node in an electronic device which comprises an input/output pin, a plurality of programmable pull-up resistors and a plurality of programmable pull-down resistors. Each of the pull-up and pull-down resistors, or a combination of them, can be activated by turning on or off n-MOS and p-MOS transistors with logic contained in a mode register. The pull-up and pull-down resistance can be implemented by the inclusion of a resistor in series or by utilization of the innate resistance of the MOS-FET transistor, itself. The resistances can be strong, medium, or weak, depending on the needs of the circuitry. One advantage of such control over drive strength is the ability to transmit or receive data in virtually any electronic environment. Another advantage is the ability to reduce voltage ramp-rates, which reduces high frequency harmonics and the attendant electromagnetic interference.
Embodiments of the present invention include an input/output node on an electronic device which comprises an input/output pin, a plurality of pull-up resistors selectively removable from the pin and a plurality of pull-down resistors selectively removable from the pin, wherein, the pull-up resistors and the pull-down resistors can be selected for activation by logic.